![]() Speichersystem
专利摘要:
Während eine große Menge an Dateien intensiv verwaltet werden kann, ist die Kapazitätserweiterung durch die Anzahl der Magnetplattenlaufwerke und die Anzahl der Magnetbandlaufwerke begrenzt, die an ein System angeschlossen werden können, wodurch es nicht möglich ist, eine zufrieden stellende Langzeitverwaltung für eine große Menge an Daten bereitzustellen, die mit der Zeit immer weiter zunimmt. Ein Speichersystem nach der vorliegenden Erfindung ist ausgelegt für die Verbindung mit einem heterogenen Speicher, der von dem Speichersystem gesteuert werden kann, und erzeugt Dateisysteme in einem Speicherbereich, der in dem Speichersystem reserviert ist, und in einem Speicherbereich, der durch den heterogenen Speicher bereitgestellt wird. 公开号:DE102004023811A1 申请号:DE200410023811 申请日:2004-05-13 公开日:2005-09-08 发明作者:Naoto Matsunami;Koji Sonoda;Akira Yamamoto 申请人:Hitachi Ltd; IPC主号:G06F3-06
专利说明:
[0001] Dievorliegende Erfindung bezieht sich auf ein Speichersystem für ein Computersystem. [0002] JP-A-9-297699(Seiten 3 bis 4 und 1) beschreibtein als hierarchisches Speichersystem bezeichnetes System mit einemComputer sowie einem schnellen Speicher und einem langsamen Speicher,die an den Computer angeschlossen sind. In JP-A-9-297699 (Seiten3 bis 4 und 1) sindhäufigerbenötigteDateien in einem schnellen Speicher wie zum Beispiel einem Magnetplattenlaufwerkgespeichert, währendweniger häufigbenötigteDateien in einem preiswerten langsamen Speicher wie zum Beispieleinem Magnetbandlaufwerk gespeichert sind. Außerdem wird eine Tabelle verwendet,um die Zugriffshäufigkeitfür jedeDatei zu verwalten, und angesprochen, um festzustellen, welche Dateiwelchem Speicher zugeordnet bzw. in welchem Speicher gespeichertist. [0003] JP-A-9-297699beruht auf Software, die auf dem Computer läuft, zur Implementierung einerhierarchischen Speichersteuerung zum Verschieben einer Datei zwischeneinem Magnetplattenlaufwerk mit geringer Kapazität und einem Magnetbandlaufwerk mitgroßerKapazitätin Abhängigkeitdavon, wie oft die Datei benutzt wird. Die hierarchische Speichersteuerungnimmt an, dass auf Daten, auf die in der Vergangenheit häufig zugriffenworden ist, auch in der Zukunft häufig zugegriffen wird, undbestimmt einen Speicher zum Speichern von Daten in Abhängigkeitvon statistischen Daten überdie Zugriffshäufigkeitder Daten und die verfügbareKapazitäteines Speichers mit schnellem Zugriff. Daneben verbessert die hierarchischeSpeichersteuerung die Verarbeitungseffizienz und verwaltet praktischeine große Mengevon Dateien durch Erhöhender Wahrscheinlichkeit, dass Da ten, auf die mit hoher Häufigkeitzugegriffen wird, in einem Speicher mit schnellem Zugriff gespeichertsind. [0004] Beidem herkömmlichenhierarchischen Speicherverfahren gibt es jedoch ein Problem, dass dieKapazitätserweiterungdurch die Anzahl der Magnetplattenlaufwerke und die Anzahl der Magnetbandlaufwerke,die an den Computer angeschlossen werden können, begrenzt ist, wodurches nicht möglich ist,eine volle Langzeitverwaltung füreine großeMenge an Daten bereitzustellen die mit der Zeit immer weiter zunimmt. [0005] EinZweck der vorliegenden Erfindung ist daher die Bereitstellung einesSpeichersystems mit einer erweiterbaren Kapazität, die das Verwalten einer großen Mengean Dateien überlange Zeit ermöglicht. [0006] DasSpeichersystem nach der vorliegenden Erfindung ist so aufgebaut,dass es die Eingabe/Ausgabe in ein externes bzw. von einem externenSpeichersystem steuern kann, das an das Speichersystem angeschlossenist. Das Speichersystem nach der vorliegenden Erfindung erzeugtein Dateisystem in einem dadurch lokal vorgesehenen Speicherbereichund einem von dem externen Speichersystem bereitgestellten Speicherbereich. [0007] DasSpeichersystem kann einen NAS bilden, dessen Kapazität erweitertwerden kann. [0008] AndereZwecke, Merkmale und Vorteile der Erfindung ergeben sich aus dernachstehenden Beschreibung der Ausführungsformen der Erfindungin Zusammenhang mit den zugehörigenZeichnungen. [0009] 1 istein Blockdiagramm, das eine beispielhafte Konfiguration eines Computersystemsunter Anwendung der vorliegenden Erfindung zeigt. [0010] 2 isteine Aufsicht, die den Aufbau eines beispielhaften Speichers zeigt. [0011] 3 isteine Perspektivansicht, die den Aufbau einer beispielhaften Adapterkartezeigt. [0012] 4 istein Blockdiagramm, das eine beispielhafte Konfiguration eines NAS-Kanaladapters zeigt. [0013] 5 istein Blockdiagramm, das Beispiele für die in einem Dateisystemsteuerspeichergespeicherten Programme zeigt. [0014] 6 istein Blockdiagramm, das Beispiele für die in einem Disk-Array-Steuerspeichergespeicherten Programme zeigt. [0015] 7 istein Blockdiagramm, das eine beispielhafte Konfiguration eines heterogenenSpeicheranschluss-Steuerkanaladapters zeigt. [0016] 8 istein Blockdiagramm, das Beispiele für die in einem heterogenenSpeicheranschluss-Steuerspeicher gespeicherten Programme zeigt. [0017] 9 istein Blockdiagramm, das eine beispielhafte Konfiguration eines heterogenenSpeichers zeigt. [0018] 10 istein Blockdiagramm, das eine beispielhafte Konfiguration zeigt, beider ein heterogener Speicher an jeden Speicher angeschlossen ist. [0019] 11A bis 11C zeigenBeispiele für denAufbau einer Volume-Managementtabelle. [0020] 12 istein Blockdiagramm, das eine beispielhafte Konfiguration zeigt, beider mehrere heterogene Speicher an jeden Speicher angeschlossen sind. [0021] 13 istein Blockdiagramm, das eine beispielhafte Konfiguration zur Nutzungeiner Kombination von Speichern und heterogenen Speichern zeigt. [0022] 14 istein Blockdiagramm, das eine weitere beispielhafte Konfigurationzur Nutzung einer Kombination von Speichern und heterogenen Speichernzeigt. [0023] 15A bis 15C zeigenBeispiele für denAufbau der Volume-Managementtabelle. [0024] ImFolgenden werden Ausführungsformen nachder vorliegenden Erfindung unter Bezugnahme auf die zugehörigen Zeichnungenbeschrieben. Die vorliegende Erfindung wird jedoch durch die nachstehendbeschriebenen Ausführungsformennicht eingeschränkt. [0025] Zunächst wirdeine erste Ausführungsform beschrieben. [0026] 1 zeigtein beispielhaftes Computersystem nach der ersten Ausführungsform.In der nachstehenden Beschreibung steht „x" füreine beliebige ganze Zahl. [0027] EinSpeicher 1 repräsentiertein Disk-Array-System, das einen Platten-Controller 11 (imFolgenden als „DKC 11" bezeichnet), mehrereMagnetplattenlaufwerke 17xx (im Folgenden als die „Platten 17xx" bezeichnet) undeine Managementvorrichtung 18 aufweist. Für die ersteAusführungsformwird angenommen, dass jede Platte 17xx eine FC-Platte (FibreChannel) mit einer Fibre Channel-Schnittstelle ist. [0028] AlsNächsteswird die Konfiguration des DKC 11 in dem Speicher 1 zurIllustration beschrieben. Der DKC 11 weist einen oder mehrereNAS-Kanaladapter 110x (im Folgenden als „CHN 110x" bezeichnet), einenoder mehrere heterogene Speicheranschlussadapter 111x (imFolgenden als „CHD 111x" bezeichnet), mehrerePlattenadapter 12x (im Folgenden als „DKA 12x" bezeichnet), einengemeinsamen Speicher 13 (im Folgenden als „SM 13" bezeichnet), einenController 15 fürden gemeinsam genutzten Speicher (im Folgenden als „SMC 15" bezeichnet), einenCache-Speicher 14 (im Folgenden als „CM 14" bezeichnet) undeinen Cache-Speicher-Controller 16 (im Folgenden als „CMC 16" bezeichnet) auf. [0029] JederCHN 110x ist ein Schnittstellen-Controller, der über eineDatei-E/A-Schnittstelle an einen zugehörigen Computer 40x (imFolgenden als „Host 40x" bezeichnet) angeschlossenist, der wiederum mit einem lokalen Netzwerk 20 (im Folgendenals „LAN 20" bezeichnet) verbundenist. [0030] JederCHD 111x ist ein Schnittstellen-Controller, der über eineBlock-E/A-Schnittstelle an einen zugehörigen dezentralen Speicher 50x (imFolgenden als „heterogenerSpei cher 50x" bezeichnet)angeschlossen ist, der wiederum mit einem Speichernetzwerk 30 (imFolgenden als „SAN 30" bezeichnet) verbundenist. In der nachstehenden Beschreibung werden der CHN und der CHDzusammenfassend als „Kanaladapter" bezeichnet (odermit „CH" abgekürzt). [0031] DerSMC 15 ist an den CHN 110x, CHD 11x, DKA 12x undSM 13 angeschlossen. Der SMC 15 steuert die Datenübertragungzwischen dem CHN 110x, CHD 111x, DKA 12x undSM 13. [0032] DerCMC 16 ist an den CHN 110x, CHD 111X,DKA 12x und CM 14 angeschlossen. Der CMC 16 steuertdie Datenübertragungzwischen dem CHN 110x, CHD 11x, DKA 12x undCM 14. [0033] DerSM 13 weist eine Volume-Managementtabelle 131 auf.Die Volume-Managementtabelle 131 speichert die Konfigurationeines „logischenGerätes" (im Folgenden als „LDEV" bezeichnet) für die Verwaltung.Das LDEV stellt eine logische Konfigurationseinheit eines internenSpeicherbereichs dar, der aus einer Reihe von logischen sequentiellenAdressbereichen besteht. [0034] JedePlatte 17xx ist an einen zugehörigen DKA 12x angeschlossen.Jeder DKA 12x steuert die Eingabe in eine oder mehreredaran angeschlossene Platten 17xx bzw. die Ausgabe voneiner oder mehreren daran angeschlossenen Platten 17xx. [0035] Indem Speicher 1 kann jeder CH über den CMC 16 oderSMC 15 auf den CM 14, SM 13, jeden derDKAs 12x und jede der Platten 17xx zugreifen. [0036] DieManagementvorrichtung 18 ist zur Verwaltung der Konfigurationdes Speichers 1 überjeden CH und jeden DKA an den DKC 11 in dem Speicher 1 angeschlossen.Die Konfigurationsdaten sind im SM 13 gespeichert und werdenvon den zugehörigenCHs und DKAs gemeinsam genutzt. [0037] Derheterogene Speicher 50x ist ein extern von Speicher 1 installierterSpeicher und unterscheidet sich in der Art von diesem. Der heterogeneSpeicher 50x ist überdas SAN 30 an einen zugehörigen CHD 11x angeschlossen.Aus der Sicht des heterogenen Speichers 50x befindet sichder Speicher 1 an der Position eines Host-Computers, derE/A-Befehle aus gibt. Es sei darauf hingewiesen, dass der heterogeneSpeicher 50x in der nachfolgenden Beschreibung zwar alseine andere Art von Speicher als der Speicher 1 definiertist, er bei einer alternativen Ausführungsform jedoch von der gleichenArt wie der Speicher 1 sein kann. [0038] DasLAN 20 verbindet die CHNs 110x mit den zugehörigen Hosts 40x.Im Allgemeinen wird ein IP-Netzwerk für das LAN benutzt. [0039] DasSAN 30 verbindet die CHDs 111x mit den zugehörigen heterogenenSpeichern 50x. Im Allgemeinen wird ein Fibre Channel (FC)für dasSAN benutzt. Alternativ kann iSCSI für das SAN benutzt werden, wobeifür dieKommunikation zwischen Geräten,die überein IP-Netzwerk an das SAN angeschlossen sind, ein dem SCSI-Protokollentsprechender SCSI-Befehlin ein IP-Paket eingebettet wird. Für die erste Ausführungsformwird angenommen, dass das SAN 30 ausschließlich für den Anschlussan die heterogenen Speicher 50x vorgesehen ist und es dahernicht mit den Hosts 40x verbunden ist. [0040] EinManagementterminal 600 ist über ein Management-LAN 70 andie Managementvorrichtung 18 in dem Speicher 1 angeschlossen.Das Managementterminal 600 ist über das Management-LAN 70 auchmit den heterogenen Speichern 50x verbunden. Auf dem Managementterminal 600 läuft eineManagementsoftware-Applikation zum Einstellen und Verwalten desSpeichers 1 und der heterogenen Speicher 50x. [0041] Derin 1 gezeigte Speicher 1 weist nur eineNAS-Schnittstelle(CHN 110x) fürdie Verbindung mit den Hosts 40x über das LAN 20 auf.Das Computersystem nach der ersten Ausführungsform kann zusätzlich eineSAN-Schnittstelle (SAN-Kanaladapter) zum Anschluss des Speichers 1 andie Hosts 40x überdas SAN 30 aufweisen, so dass entweder die NAS-Schnittstelleoder die SAN-Schnittstelle gewähltwerden kann. [0042] 2 zeigtbeispielhaft den Aufbau des Speichers 1. Eine DKC-Einheit 19 umfasstdie CHNs 110x, CHDs 11x, DKAs 12x, SM 13 undCM 14, die Bestandteile des DKC 11 sind. Der SM 13 bestehteigentlich aus mehreren Controller-Karten 13x. In gleicher Weisebesteht der CM 14 aus mehreren Cache-Karten 14x.Der Benutzer des Speichers 1 kann die Anzahl dieser Kartenerhöhenoder verringern, um den Speicher 1 so anzupassen, dasser eine gewünschteSpeicherkapazitätdes CM 14 oder SM 13 hat. Eine Platteneinheit 180 (imFolgenden als „DKU" bezeichnet) undDKU 181 besteht aus mehreren Platten 17xx. [0043] Jederder Steckplätze 190 nimmteine Adapterkarte mit den CHNs 110x, CHDs 111x,DKAs 12x, Controller-Karten 13x, Cache-Karten 14x unddergleichen auf. Bei der ersten Ausführungsform sind die Form desSteckplatzes 190, die Größe der Adapterkarte und dieForm eines Steckverbinders unabhängigvon der Art der Adapterkarte und der Art der Schnittstelle einheitlich,so dass die Kompatibilitätsichergestellt ist. Folglich kann jede beliebige Adapterkarte injeden beliebigen Steckplatz 190 der DKC-Einheit 19 eingestecktwerden, unabhängigvon der Art der Adapterkarte oder der Art der Schnittstelle. Außerdem kannder Benutzer des Speichers 1 die Anzahl der Adapterkartenfür dieCHNs 110x und CHDs 111x frei wählen, um die gewünschte Anzahl vonCHNs 110x und CHD 111x in die Steckplätze 190 derDKC-Einheit 19 einzustecken. [0044] 3 zeigtbeispielhaft den Aufbau der Adapterkarte (im Folgenden als „CHN-Karte" bezeichnet), dieden CHN 110x enthält.Ein Stecker 11007 wird in einen Stecker der DKC-Einheit 19 eingesteckt.Ein Schnittstellenstecker 2001 kann an das LAN 20 angeschlossenwerden. [0045] Weilder Stecker der Adapterkarte unabhängig von der Art der Adapterkarteeine einheitliche Form hat, weist die CHN-Karte bei der ersten Ausführungsformeinen Stecker mit der gleichen Form auf, wie eine Adapterkarte (imFolgenden als „CHD-Karte" bezeichnet), dieden CHD 111x enthält.Es sei darauf hingewiesen, dass der Schnittstellenstecker 2201 derCHD-Karte den Fibre Channel unterstützt und für den Anschluss an den FibreChannel ausgelegt ist. [0046] 4 zeigteine beispielhafte Konfiguration des CHN 110x. Eine Dateizugriffs-Steuerungs-CPU 11001 istein Prozessor zur Steuerung der Zugriffe auf Dateien. Ein LAN-Controller 11002 istzur Steuerung der Übertragungbzw. des Empfangs von Daten an das bzw. von dem LAN 20 über denSchnittstellenstecker 2001 an das LAN 20 angeschlossen.Ein Dateizugriffssteuerspeicher 11004 ist an die Dateizugriffs-Steuerungs-CPU 11001 angeschlossen.Der Dateizugriffssteuerspeicher 11004 speichert Programme,die von der Dateizugriffs-Steuerungs-CPU 11001 ausgeführt werden,und zugehörigeSteuerdaten. [0047] EineDisk-Array-Steuerungs-CPU 11008 ist ein Prozessor zur Steuerungeiner Disk-Array. Die hier verwendete Disk-Array weist Gruppen auf, von denen jedeaus mehreren Platten 17xx besteht und als eine einzelnevirtuelle Platte angesehen wird, und betreibt die mehreren Platten 17xx parallel,um die Leistung zu verbessern. Insbesondere ist eine so genannteRAID (Redundant Array of Inexpensive Disks – redundante Anordnung preiswerterPlatten) eine Disk-Array, die redundante Daten, so genannte „Paritäten", in Teilen einesSpeicherbereichs einer Gruppe speichert, um die Fehlertoleranz zuerhöhen.Unter den Disk-Arrays werden RAID-Systeme besonders häufig benutzt. [0048] EinDisk-Array-Steuerspeicher 11009, der an die Disk-Array-Steuerungs-CPU 11008 angeschlossenist, speichert Programme, die von der Disk-Array-Steuerungs-CPU 11008 ausgeführt werden,und zugehörigeSteuerdaten. Eine SM-Schnittstellensteuerschaltung 11005 steuertden Zugriff von dem CHN 110x auf den SM 13. EineCM-Schnittstellensteuerschaltung 11006 steuert den Zugriffvon dem CHN 110x auf den CM 14. Eine Inter-CPU-Kommunikationsschaltung 11007 wirdverwendet, wenn die Dateizugriffs-Steuerungs-CPU 11001 mitder Disk-Array-Steuerungs-CPU 11008 kommuniziert, um aufeine Platte zuzugreifen. [0049] Während dieerste Ausführungsformein Beispiel füreine asymmetrische Mehrprozessor-Konfiguration zeigt, bei der derCHN 110x mit zwei Prozessoren bestückt ist, d.h. der Dateizugriffs-Steuerungs-CPU 11001 undder Disk-Array-Steuerungs-CPU 11008,kann der CHN auch mit einem einzelnen Prozessor bestückt sein,der sowohl die Dateizugriffssteuerung als auch die Disk-Array-Steuerung übernimmt.Als weitere Alternative kann der CHN 110x in einer symmetrischenMehrprozessor-Konfiguration mit zwei oder mehr Prozessoren ausgelegtwerden, die gleichmäßig eineoder beide Funktionen der Dateizugriffssteuerung und Disk-Array-Steuerungausführen. [0050] 5 zeigtals Beispiel Programme und zugehörigeSteuerdaten, die in dem Dateizugriffssteuerspeicher 11004 indem CHN 110x gespeichert sind. Ein Betriebssystemprogramm 110040 dientzur Verwaltung der jeweils zugehörigenProgramme und zur Steuerung von Ein-/Ausgabeoperationen. Ein LAN-Controller-Treiberprogramm 110041 dientzur Steuerung des LAN-Controllers 11002. Ein TCP/IP-Programm 110042 dientzur Steuerung von TCP/IP, einem Kommunikationsprotokoll auf dem LAN.Ein Netzwerk-Dateisystemprogramm 110044 dient zur Steuerungvon NFS, CIFS und dergleichen, wobei es sich um Protokolle handelt,um den NAS-Host 40x mit den in dem Speicher gespeichertenDateien zu versorgen. Ein Volume-Steuerprogramm 110045 dientzur Steuerung eines logischen Volumes bzw. Datenträgers, deraus einer oder mehreren logischen Einheiten (im Folgenden als „LU" bezeichnet) besteht.Ein Inter-CPU-Kommunikationstreiberprogramm 110046 dientzur Steuerung der Inter-CPU-Steuerschaltung 11007 für die Kommunikationzwischen der Dateizugriffs-Steuerungs-CPU 11001 und derDisk-Array-Steuerungs-CPU 11008. [0051] EinDateisystemprogramm 110043 dient zur Verwaltung der indem Speicher gespeicherten Dateien und führt das Datei-Speichermanagementund die Ein-/Ausgabesteuerung aus. Insbesondere ist das Dateisystemprogramm 110043 anfolgenden Steuerungsprozessen beteiligt: 1) Öffnen einerDatei, wenn sie benutzt werden soll. 2) Reagieren auf eine von einem Host empfangene Dateizugriffsanfragezum Ausführenvon Platten-Ein-/Ausgabeoperationen entsprechend der Zugriffsanfrage. 3) Feststellen eines Bereichs auf einer Platte, in dem eineDatei fürdie Verwaltung gespeichert ist. 4) Verwalten einer Korrespondenzbeziehung zwischen dem Nameneiner geöffnetenDatei und einer Tabelle, die einen Dateispeicherbereich und einePufferadresse der Datei verwaltet. [0052] 6 zeigtals Beispiel Programme und zugehörigeSteuerdaten, die in dem Disk-Array-Steuerspeicher 11009 indem CHN 110x gespeichert sind. [0053] EinBetriebssystemprogramm 110090 dient zur Verwaltung derjeweils zugehörigenProgramme und zur Steuerung von Ein-/Ausgabeoperationen. [0054] EinTreiberprogramm 110093, das von einer CPU zur Kommunikationmit einer anderen CPU benutzt wird (im Folgenden als „Inter-CPU-Kommunikationstreiberprogramm" bezeichnet), dientzur Steuerung der Inter-CPU-Kommunikationsschaltung 11007 für die Kommunikationzwischen der Dateizugriffs-Steuerungs-CPU 11001 undder Disk-Array-Steuerungs-CPU 11008 und empfängt eineZugriffsanfrage fürdie LU von der Dateizugriffs-Steuerungs-CPU 11001. [0055] EinVolume-Steuerprogramm 110092 erzeugt eines oder mehrerelogische Geräte(im Folgenden als „LDEV" bezeichnet), vondenen jedes eine logische Konfigurationseinheit eines Speicherbereichsdarstellt, der aus zwei logischen sequentiellen Adressbereichenbesteht, auf einer RAID-Gruppe (imFolgenden als „VDEV" bezeichnet), dieaus mehreren Platten 17xx besteht, die ein RAID-Systembilden, verbindet eines oder mehrere LDEVs, um eine logische Einheit(im Folgenden als „LU" bezeichnet) zu erzeugen,und verwaltet die Relationsdaten, die den logischen Geräten undder logischen Einheit zugeordnet sind. [0056] EinCache-Steuerprogramm 110094 dient zur Verwaltung von imCM 14 gespeicherten Daten und zur Steuerung wie etwa derFeststellung von Cache-Hit- bzw. Cache-Miss-Ereignissen. [0057] EinDKA-Kommunikationstreiberprogramm 110095 dient zur Kommunikationmit dem DKA 12x, wenn ein Zugriff auf eine Platte 17xx erforderlichist. [0058] EinDisk-Array-Steuerprogramm 110091 ist an einer Abfolge vonDisk-Array-Steuerungsoperationen beteiligt. Insbesondere identifiziertdas Disk-Array-Steuerprogramm 110091 nach Empfang einer Zugriffsanfragevon der Dateizugriffs-Steuerungs-CPU 11001 an die LU über dasInter-CPU-Kommunikationstreiberprogramm 110093 einLDEV und ein VDEV, die der LU entsprechen, auf die von der Dateizugriffs-Steuerungs-CPU 11001 mit Hilfedes Volume-Steuerprogramms 110092 zugegriffen wird, stelltmit Hilfe des Cache-Steuerprogramms 110094 die Cache-Miss-oder Cache-Hit-Ereignisse in Zusammenhang mit dem Zugriff fest und gibtmit Hilfe des DKA-Kommunikationstreiberprogramms 110095 eineZugriffsanfrage an den DKA 12x aus, wenn ein Zugriff aufeine Platte erforderlich ist. [0059] 7 zeigteine beispielhafte Konfiguration des CHD 111x. [0060] Eineheterogene Speicheranschluss-Steuerungs-CPU 11108 ist einProzessor zur Steuerung einer Verbindung zu einem heterogenen Speicher 50x. [0061] Einheterogener Speicheranschluss-Steuerspeicher 11109, deran die heterogene Speicheranschluss-Steuerungs-CPU 11108 angeschlossenist, speichert Programme, die von der heterogenen Speicheranschluss-CPU 11108 ausgeführt werden,und zugehörigeSteuerdaten. Eine SM-Schnittstellensteuerschaltung 11105 steuertden Zugriff von dem CHD 110x auf den SM 13. EineCM-Schnittstellensteuerschaltung 11106 steuert den Zugriffvon dem CHD 110x auf den CM 14. [0062] 8 zeigtals Beispiel Programme und zugehörigeSteuerdaten, die in dem heterogenen Speicheranschluss-Steuerspeicher 11109 indem CHD 111x gespeichert sind. [0063] EinBetriebssystemprogramm 111090 dient zur Verwaltung derjeweils zugehörigenProgramme und zur Steuerung von Ein-/Ausgabeoperationen. [0064] Einheterogenes Speicheranschlusssteuerprogramm 111091 erkennteinen an das SAN 30 angeschlossenen heterogenen Speicher 50x,bestätigt dieKapazitäteiner durch den heterogenen Speicher 50x bereitgestelltenLU und führtLeseoperationen aus der bzw. Schreiboperationen in die LU aus. [0065] EinVolume-Steuerprogramm 111092 betrachtet eine von dem heterogenenSpeicher 50x bereitgestellte LU für die Verwaltung als einesder VDEVs in dem Speicher 1. Weil diese LU als ein VDEVin dem Speicher 1 behandelt wird, wird ein LDEV auf demVDEV erzeugt. Verwaltet das Volume-Steuerprogramm 111092 eineLU in dem heterogenen Speicher 50x als ein VDEV, wird diesesVDEV von dem Volume-Steuerprogramm 110092 des CHN 110x demLDEV zugeordnet, und das LDEV wiederum wird der LU zugeordnet. [0066] Essei darauf hingewiesen, dass die LU in dem heterogenen Speicher 50x alsein VDEV behandelt wird, aber wenn die heterogene Speichereinheit 50x einRAID-Disk-Array-System ist, müssenin den Speicher 1 keine redundanten Daten hinzugefügt werden,weil der heterogene Speicher 50x in sich ein RAID-Systemumfasst. [0067] EinCache-Steuerprogramm 111093 dient zur Verwaltung von imCM 14 gespeicherten Daten und zur Steuerung wie etwa derFeststellung von Cache-Hit- bzw. Cache-Miss-Ereignissen. [0068] EinLDEV-Migrationssteuerprogramm 111094 ist an einer Migrationdes LDEV beteiligt. [0069] Wenndie Daten, die in einem LDEV gespeichert sind, das von dem Speicher 1 verwaltetwird, auf ein LDEV kopiert werden, das in dem heterogenen Speicher 50x erzeugtworden ist, und die ursprünglichenDaten gelöschtwerden, erscheint das LDEV so, als sei es in den heterogenen Speicher 50x verschobenworden. Diese Folge von Operationen wird als „LDEV-Migration" bezeichnet.Das LDEV-Migrationssteuerprogramm 111094 führt eineLDEV-Migration zwischen dem Speicher 1 und dem heterogenenSpeicher 50x, eine LDEV-Migration innerhalb des heterogenenSpeichers 50x und eine LDEV-Migration zwischen einem heterogenenSpeicher 50x und einem anderen heterogenen Speicher 50x aus. [0070] EinWORM-Steuerprogramm 111095 fügt ein WORM-Attribut (WriteOnce, Read Many) zu einem LDEV hinzu, das in einem von dem CHD 1110 verwaltetenheterogenen Speicher 50x erzeugt worden ist. Ein Beispielfür dieWORM-Steuerung ist etwa das Abbrechen aller Schreiboperationen mitAusnahme einer Schreiboperation in Zusammenhang mit einer Migrationeines LDEV und das Behandeln dieses LDEV als ein Nur-Lesen-LDEV, um dem LDEVdas WORM-Attribut zu geben. Ansonsten kann die WORM-Steuerung eineEinmal-Schreiboperation an ein LDEV zulassen, um dem LDEV das WORM-Attributzu geben. Für dienachfolgende Beschreibung wird angenommen, dass alle Schreiboperationenabgebrochen sind, mit Ausnahme einer Schreiboperation in Zusammenhangmit der Migration eines LDEV, und dass das LDEV als ein Nur-Lesen-LDEVbehandelt wird. [0071] 9 zeigteine beispielhafte Konfiguration des heterogenen Speichers 50x.Der heterogene Speicher 50x weist zwei Disk-Array-Controller FCTLx510xauf, um eine Fehlertoleranz zu ermöglichen, so dass, wenn einFCTL wegen einer Störung ausfällt, derandere die Funktion des defekten FCTL übernehmen kann. [0072] Jederder Disk-Array-Controller FCTLx510x umfasst einen FC-Controller 51012,eine Disk-Array-Steuerungs-CPU 51008, einen Disk-Array-Steuerspeicher 51009,einen Cache-Speicher 510144, eine Datenübertragungssteuerschaltung 51011 und einenFC-Controller 51010. Der FC-Controller 51012 verbindetden FCTLx510x mit dem SAN 30. [0073] DieDisk-Array-Steuerungs-CPU 51008 ist ein Prozessor zur Steuerungeiner Disk-Array. Der Disk-Array-Steuerspeicher 51009 speichertein Disk-Array-Steuerprogramm und zugehörige Steuerdaten. Der FC-Controller 51010 verbindetund steuert die Platten 5710x. Die Datenübertragungssteuerschaltung 51011 ist über denFC-Controller 51012, CM 51014, und FC-Controller 51010 aufgeteilt,um die Dateneingabe in den bzw. Datenausgabe von dem CM 51014 unddie Datenübertragungzu dem anderen FCTL zu steuern. [0074] Wieder Speicher 1 besteht der heterogene Speicher 50x ausmehreren Platten 5710x in einer RAID-Gruppe und erzeugteine oder mehrere LUs, die jeweils einer Folge von Adressen in Teilenoder ihrem gesamten Speicherbereich zugewiesen sind. [0075] In 9 istder CHD0 (1110) in Speicher 1 über ein heterogenes Speicheranschluss-SAN 30 mit einemheterogenen Speicher 0(500) verbunden und arbeitet so,als sei er aus der Sicht des heterogenen Speichers 0(500)ein Host. Der CHD0 (1110) fungiert als ein Host für den heterogenenSpeicher 0(500) und gibt Zugriffsbefehle wie zum BeispielLese- und Schreibbefehlezur Steuerung des heterogenen Speichers 0(500) aus. [0076] ImFolgenden wird die Funktionsweise des Speichersystems nach der erstenAusführungsform unterBezugnahme auf die vorstehend beschriebenen Konfigurationen beschrieben. [0077] 10 zeigtin vereinfachter Form eine beispielhafte Konfiguration eines Computersystemszur Hervorhebung von Merkmalen des Systems unter Verzicht auf dievorstehend beschriebenen Detailkonfigurationen. [0078] 11A bis 11C zeigenbeispielhafte Zuständeder Volume-Managementtabelle 131 entsprechend 10. [0079] Diein 11A gezeigte Volume-Managementtabelle 131 stellteine beispielhafte Beziehung zwischen den in dem heterogenen Speicher 500 erzeugtenLUs und den aus den LUs in dem heterogenen Speicher 500 bestehendenVDEVs dar. In der in 11A gezeigten Volume-Managementtabelle 131 gibt „SLUN" eine Kennnummerder in dem heterogenen Speicher 500 erzeugten und verwendetenLU an, d.h. eine Kennnummer, die von dem Disk-Array-Controller FCTLx510xin dem heterogenen Speicher 500 verwendet wird, um aufdie LU zuzugreifen. „VDEV" gibt ein VDEV an,das einer in dem heterogenen Speicher 500 erzeugten LUentspricht. [0080] Diein 11B gezeigte Volume-Managementtabelle 131 stellteine beispielhafte Beziehung zwischen dem VDEV in 11A und dem LDEV dar. In der in 11B gezeigten Volume-Managementtabelle 131 gibt „LDEV" ein LDEV an, dasdem VDEV entspricht. [0081] Diein 11C gezeigte Volume-Managementtabelle 131 stellteine beispielhafte Beziehung zwischen dem LDEV in 11B, LUN, LV und FS dar. In der in 11C gezeigten Volume-Managementtabelle 131 gibt „LUN" die Nummer einerLU an, die einem LDEV entspricht, „LV" gibt eine Nummer an, die der LU entspricht,und „FS" gibt ein FS an,das dem LV entspricht. [0082] Beider ersten Ausführungsformenthältdie Volume-Managementtabelle 131 Verwaltungsdaten über dasFS, aber das FS kann auch mit einer getrennten Managementtabelleverwaltet werden, weshalb sich die Verwaltung des FS nicht auf diespezielle Art und Weise wie bei dieser Ausführungsform beschränkt. [0083] Indem Speicher 1 in 10 wirddie Konfiguration des in 4 gezeigten CHN 1110 allgemein als „NAS-Funktion 1100A" bezeichnet. Außerdem wirddie Konfiguration des in 7 gezeigten CHD 1110 allgemeinals „heterogeneSpeicheranschlusssteuerfunktion 1110A" bezeichnet. [0084] DieFunktionsweise der ersten Ausführungsformwird anhand eines Beispiels beschrieben, bei dem ein logisches Gerät 5200 (SLDEV0)in einer LU mit SLUN = 0 in dem heterogenen Speicher 500 und einDateisystem 5300 (SFS0) auf dem logischen Gerät SLDEV0erzeugt wird. [0085] Eswird angenommen, dass der heterogene Speicher 500 die LUmit SLUN = 0 überden Disk-Array-Controller FCTLx510x des heterogenen Speichers 500 erzeugthat. [0086] Anhandvon 8 wird zunächstdie Funktionsweise der heterogenen Speicheranschlusssteuerfunktion 1110A desCHD0 (1110) beschrieben. Ein heterogenes Speicheranschlusssteuerprogramm 111091 gibteinen Anfragebefehl an den heterogenen Speicher 500 aus,um die LU0 in dem heterogenen Speicher 500 zu lokalisieren.Ein Volume-Steuerprogramm 111092 behandelt diese LU0 alsSVDEV0 und trägtdieselbe in die Volume-Managementtabelle 131 des SM 13 ein.Insbesondere erfasst das Volume-Steuerprogramm 111092 denWert „0" in dem SLUN-Eintragund SVDEV0 in dem VDEV-Eintrag in der in 11A gezeigtenVolume-Managementtabelle 131. [0087] Anhandvon 6 wird als Nächstesdie Funktionsweise der NAS-Funktion 1100A des CHN0 (1100)beschrieben. Das von der Disk-Array-Steuerungs-CPU 11008 in 6 ausgeführte Volume-Steuerprogramm 110092 siehtin der in 11A gezeigten Volume-Managementtabelle 131,die im SM 13 gespeichert ist, nach, um das SVDEV0 zu lokalisieren.Das Volume-Steuerprogramm 110092 erzeugtein SLDEV0 mit einer geeigneten Größe für dieses SVDEV0 und trägt das erzeugteSLDEV0 in der in 11B gezeigten Volume-Managementtabelle 131,die im SM 13 gespeichert ist, ein. Insbesondere erfasstdas Volume-Steuerprogramm 110092 das SVDEV0 in dem VDEV-Eintragund das SLDEV0, das dem SVDEV0 entspricht, in dem LDEV-Eintrag in der in 11B gezeigten Volume-Managementtabelle 131. [0088] DerManager gibt einen Befehl von dem Managementterminal 18 andas Computersystem aus, um eine LU mit einer gewünschten Kapazität zu erzeugen,und nach Empfang des Befehls erzeugt der Speicher 1 dieaus einem oder mehreren LDEVs bestehende LU. Hier wird angenommen,dass eine LU0 mit einem SLDEV0 erzeugt wird. Mit anderen Worten,das Volume-Steuerprogramm 110092 erfasst SLDEV0 in demLDEV-Eintrag undden Wert „0" für die LU0entsprechend dem SLDEV0 in dem LUN-Eintrag des Volume-Steuerprogramms 110092. [0089] Wennder Host 40x den Speicher 1 aktiviert, gibt alsNächstesdas von der Dateizugriffs-Steuerungs-CPU 11001 in Speicher 1 ausgeführte Volume-Steuerprogramm 110045 in 5 mitdem Inter-CPU-Kommunikationstreiberprogramm 110046 einenAnfragebefehl an die Disk-Array-Steuerungs-CPU 11008 aus,um eine Anfrage an die Disk-Array-Steuerungs-CPU 11008 zumLokalisieren der LU0 zu machen. Das von der Disk-Array-Steuerungs-CPU 11008 ausgeführte Volume-Steuerprogramm 110092 lokalisiertdie LU0 und informiert die Dateizugriffs-Steuerungs-CPU 11001 über dieLokalisierung. Das Volume-Steuerprogramm 110045 erkenntdiese LU0 und erzeugt ein logisches Volume LV0 mit der LU0. Während einlogisches Volume durch Verbinden mehrerer LUs erzeugt werden kann, wirdhier angenommen, dass das LV0 mit der einen LU0 er zeugt wird. Mitanderen Worten, das Volume-Steuerprogramm 110045 erfasstdas LV0, das der LU0 entspricht, in dem LV-Eintrag in der in 11C gezeigten Volume-Managementtabelle 131. [0090] AlsReaktion auf einen Befehl von dem Manager erzeugt das Dateisystemprogramm 110043 ein DateisystemSFS0 auf dem logischen Volume LV0. Mit anderen Worten, das Dateisystemprogramm 110043 erfasstdas SFS0, das dem LV0 entspricht, in dem FS-Eintrag in der in 11C gezeigten Volume-Managementtabelle 131. [0091] Mitden vorstehenden Operationen wird bei der ersten Ausführungsformdas LV0 in dem Speicher 1 von der LU0 des Speichers 1 erzeugt,währenddie LU0 von dem SLDEV0 erzeugt wird. Das SLDEVO wiederum umfasstden Speicherbereich SVDEV0, der durch die LU in dem heterogenenSpeichersystem realisiert ist. Als Ergebnis wird das von dem CHN0(1100) gesteuerte logische Gerät SLDEV0 in dem heterogenenSpeicher 500 angelegt, und das von dem CHN0 (1100)gesteuerte Dateisystem SFS0 wird auf dem SLDEV0 angelegt. [0092] Wennder Host 0(400) eine Anfrage an das Dateisystemausgibt, steuert das in 5 gezeigte LAN-Controller-Treiberprogramm 110041 den LAN-Controller 11002,um von dem LAN 20 ein Paket mit dieser Anfrage zu empfangen,und das Dateisystemprogramm 110043 erkennt diese Anfragedurch die Aktion des TCP/IP-Programms 110042 und des Netzwerk-Dateisystemprogramms 110044.Danach überträgt das Dateisystemprogramm 110043 Verzeichnisinformationenfür dasSFS0 an den Host 0(400), der daraufhin erkennt, dass diesesDateisystem das SFS0 ist, das im Speicher 1 resident ist,wie in 10 gezeigt. Danach kann dasDateisystem benutzt werden. Hier handelt es sich bei den Verzeichnisinformationenfür dasDateisystem SFS0 um allgemeine Verzeichnisinformationen, weshalbdiese Verzeichnisinformationen in der vorliegenden Offenlegung nichtim Detail beschrieben werden. [0093] Beider ersten Ausführungsformsind die in dem Speicher 1 enthaltenen Platten 17xx überhaupt nichterforderlich, denn die Informationen zur Verwaltung des von derNAS-Funktion 1100A erzeugten Dateisystems SFS0 sind aufdem SLDEV0 gespeichert, das überdas heterogene Speicheranschluss-SAN 30 durch die Aktionder heterogenen Speicheranschlusssteuerfunktion 1110A desCHD0 in der LU in dem heterogenen Speicher 50 angelegt wordenist. Hier handelt es sich bei den Informationen zur Verwaltung desDateisystems SFS0 um allgemeine Dateisystem-Managementinformationen, die üblicherweiseals Metadaten bezeichnet werden, weshalb ihr Aufbau in der vorliegendenOffenlegung nicht im Detail beschrieben wird. [0094] Wievorstehend beschrieben, kann die NAS-Funktion 1100A desSpeichers 1 nach der in 10 gezeigtenKonfiguration ein Dateisystem auf Platten erzeugen, die in dem heterogenenSpeicher 500 enthalten sind, der über die heterogene Speicheranschlusssteuerfunktion 1110A anden Speicher 1 angeschlossen ist. Diese Funktion wird imFolgenden als „heterogeneSpeicheranschluss-NAS-Funktion" bezeichnet. [0095] Wennder Host 0(400) auf eine in dem Dateisystem FS0 gespeicherteDatei zugreifen will, sendet der Host 0(400) eine Zugriffsanfragean den CHN0 (1100), um einen Dateisystemnamen und einenDateinamen anzugeben. Nach Empfang der Zugriffsanfrage mit dem Dateisystemnamenund dem Dateinamen sieht der CHN0 (1100) in der Volume-Managementtabelle 131 nach,um den Speicherort der betreffenden Datei zu ermitteln. Ist dieDatei in einem heterogenen Speicher gespeichert, informiert derCHN0 (1100) den CHD0 (1110), dass ein Zugriffauf in dem heterogenen Speicher gespeicherte Daten angefordert ist,und teilt dem CHD0 (1110) gleichzeitig den Datenspeicherortmit, der aus der Volume-Managementtabelle 131 erhaltenwurde, wodurch es dem CHD0 (1110) möglich ist, auf Daten in demheterogenen Speicher zuzugreifen. Der CHN0 (1100) kann auchInformationen füreine Zugriffsanfrage von dem Host auf Daten in dem heterogenen Speicherim SM 13 speichern, so dass der CHD0 (1110) denSM 13 in regelmäßigen Abständen aufInformationen füreine Zugriffsanfrage von dem Host auf Daten in dem heterogenen Speicherprüft.Nach Erkennen einer Zugriffsanfrage kann der CHD0 (1110)in der Volume-Managementtabelle 131 nachsehen, um auf Datenin dem heterogenen Speicher zuzugreifen. Wenn der CHD0 (1110)auf den heterogenen Speicher 500 zugreift, muss der CHD0(1110) Adressen benutzen, die von dem Disk-Array-ControllerFCTLx510x des heterogenen Speichers 500 erkannt werdenkönnen. Dahergreift der CHD0 (1110) mit der SLUN (in der Volume-Managementtabelle 131 in 11A), die dem VDEV entspricht, auf dem die Datengespeichert sind, auf den heterogenen Speicher 500 zu. [0096] AlsNächsteswird eine beispielhafte Konfiguration beschrieben, bei der mehrereheterogene Speicher mit dem heterogenen Speicheranschluss-SAN verbundensind. [0097] 12 zeigteine beispielhafte Konfiguration, bei der mehrere heterogene Speichermit dem heterogenen Speicheranschluss-SAN verbunden sind. Die Konfigurationin 12 unterscheidet sich von der Konfiguration in 10 dahingehend,dass mehrere (zwei in 12) heterogene Speicher 500 und 501 andas heterogene Speicheranschluss-SAN 30 angeschlossen sind. [0098] ÄhnlicheOperationen, wie sie bei der Konfiguration in 10 ausgeführt werden,werden fürdie heterogenen Speicher 500 und 501 dupliziert,um ein Dateisystem SFS0 auf dem SLDEV0 in dem heterogenen Speicher 500 undein Dateisystem SFSl auf dem SLDEV1 in dem heterogenen Speicher 501 zu erzeugen.Die Dateisysteme SFS0 und SFS1 werden beide von dem Host 0(400)durch die Aktion der NAS-Funktion 1100A des CHN0 erkannt. [0099] Aufdiese Weise ist es durch Anschließen einer größeren Anzahlvon heterogenen Speichern 50x an das heterogene Speicheranschluss-SAN 30 möglich, dieSpeicherkapazitätzu erhöhen,die von dem CHN0 gehandhabt werden kann. [0100] Wievorstehend beschrieben, kann nach der Konfiguration in 12 einebeliebige Anzahl von heterogenen Speichern an das heterogene Speicheranschluss-SAN 30 desSpeichers 1 angeschlossen werden, wodurch es möglich ist,einen großenskalierten NAS mit einer erweiterbaren Kapazität aufzubauen. [0101] Wieaus dem Vorstehenden ersichtlich, kann nach der ersten Ausführungsformdurch die Fähigkeit zurImplementierung der heterogenen Speicheranschluss-NAS-Funktion undzur Erhöhungder Speicherkapazitätdurch Hinzufügenexterner Speicher ein großerskalierter NAS realisiert werden, der sich durch eine erweiterbareKapazitätauszeichnet und eine großeMenge an Dateidaten speichern kann. [0102] Außerdem kannder Host überein Speichersystem zur Steuerung von Ein-/Ausgabeoperationen inexterne Speicher bzw. von externen Speichern, die daran angeschlossensind, auf ein Dateisystem in einem externen Speichersystem zugreifen,ohne von dem Dateisystem Kenntnis haben zu müssen, das in einem Speicherbereichdes externen Speichersystems angelegt worden ist. [0103] AlsNächsteswird eine zweite Ausführungsformbeschrieben. Die zweite Ausführungsformbenutzt die heterogene Speicheranschluss-NAS-Funktion, die in Zusammenhangmit der ersten Ausführungsformbeschrieben worden ist. [0104] 13 zeigteine erste beispielhafte Anwendung. 13 unterscheidetsich von 10 darin, dass der CHN0 vonSpeicher 1 das logische Gerät SLDEV0 in dem heterogenenSpeicher 500 erzeugt, wobei das Dateisystem SFS0 auf demlogischen GerätSLDEV0 erzeugt wird, und dass ein logisches Gerät PLDEV0 (180) aufeiner Platte 17xx in dem Speicher 1 mit einemDateisystem PFS0 (190) auf dem logischen Gerät PLDEV(180) erzeugt wird. [0105] Einweiterer Unterschied ist der, dass ein Stammverzeichnis an einemMount-Punkt ml des PFS0 „gemountet" wird. [0106] DerCHN0 hat erkannt, dass das Stammverzeichnis des SFS0 an dem Mount-Punktml des PFS0 gemountet worden ist. Der Host 0(400) erkennt diebeiden Dateisysteme PFS0 und SFS0 als ein einziges Dateisystem PFS0,das in Form eines einzigen Verzeichnisbaums konfiguriert ist. [0107] Hierwird angenommen, dass ein Verfahren zum Verknüpfen des SFS0 als Teil desPFS0, damit sie so erscheinen, als bestünden sie aus einem einzigenVerzeichnisbaum, im Folgenden als „Mounten" bezeichnet wird. Als Beispiel kanndurch Soft-Linking (symbolisches Verknüpfen) des Stammverzeichnissesdes SFS0 von dem Mount-Punkt ml des PFS0 das SFS0 mit dem PFS0 verknüpft werden.Ein anderes Verfahren kann ein Dateisystem so erzeugen, dass dasStammverzeichnis des SFS0 auf den Mount-Punkt ml abgebildet („gemappt") wird. [0108] DerCHN0 kann das SFS0 an dem Mount-Punkt ml des PFS0 mit einem ähnlichenVerfahren zum Mounten eines anderen FS, das auf einem anderen FDEVin dem Speicher 1 erzeugt worden ist, in ein Dateisystemmounten, das auf einem VDEV in dem Speicher 1 erzeugt wordenist. Dies liegt daran, dass der CHN0 das VDEV in dem Speicher 1 unddas auf der LU in dem heterogenen Speicher 500 erzeugteVDEV als dasselbe VDEV ansieht und LDEV, LV und FS auf dem VDEVerzeugt. [0109] Aufdiese Weise wird bei der zweiten Ausführungsform ein DateisystemPFSx, erzeugt auf einem logischen Gerät PLDEVx in dem Speicher 1,mit einem Dateisystem SFSx, erzeugt auf einem logischen Gerät SLDEVx,das in dem heterogenen Speicher 500 definiert ist, kombiniert,um ein Dateisystem PFSx zu erhalten, das einen einzigen Verzeichnisbaumaufweist, dessen Kapazitätzu groß ist,um nur mit der internen Plattenkapazität aufgebaut zu werden. Mitdieser Konfiguration kann der Host ein großes, skaliertes Dateisystemmit einer einheitlichen transparenten Ansicht benutzen, ohne zuwissen, ob sich ein Dateisystem in dem Speicher 1 oderin dem heterogenen Speicher 500 befindet. [0110] Außerdem gibtder Host 0(400) einen Dateisystemnamen PFS0 und einen Dateinamenan, wenn er eine Zugriffsanfrage für eine Datei ausgibt, die indem PFS0 oder in dem in dem PFS0 gemounteten SFS0 gespeichert ist.Nach Empfang der Zugriffsanfrage von dem Host 0(400) bestätigt der CHN0,ob eine zugehörigeDatei in dem PFS0 oder SFS0 gespeichert ist, und greift anschließend ineiner ähnlichenWeise wie bei der ersten Ausführungsform, wenndie Datei in dem SFS0 gespeichert ist, auf die Daten in der in demheterogenen Speichersystem gespeicherten Datei zu. [0111] AlsNächsteswird eine dritte Ausführungsformbeschrieben. [0112] 14 zeigteine zweite beispielhafte Anwendung der ersten Ausführungsform.Während 14 imWesentlichen mit 13 identisch ist, ist bei derin 14 gezeigten Ausführungsform eine höhere Anzahlvon PLDEVs und SLDEVs vorgesehen. [0113] Unterder Annahme, dass der Datenbetrieb im Januar 2003 begonnen hat,sind PLDEV0 und PLDEVl anfangs in Speicher 1 angelegt worden,und die Dateisysteme PFS0 und PFS1 sind auf den entsprechenden logischenGerätenerzeugt worden. Das PFS0 ist definiert als ein Home-Dateisystem, unddas PFS1 ist an einem Mount-Punkt ml gemountet, um ein „SingleView"-DateisystemPFS0 mit einer einheitlichen Ansicht zu erzeugen, wodurch der Host 0(400)mit einem Dateidienst versehen wird. [0114] 15A zeigt einen beispielhaften Zustand der Volume-Managementtabelle 131 zumZeitpunkt Januar 2003. In der Volume-Managementtabelle 131 gibt „LV" ein logisches Volumean, das von dem CHN0 erkannt wird. „LUN" gibt die Nummer einer LU an, die vondem CHN0 erkannt wird. „Speicher" gibt einen Speicheran, in dem die LU gespeichert ist, wobei STR0 für den Speicher 1 undSTR1 fürden heterogenen Speicher 500 steht. „LDEV" gibt ein LDEV an, auf dem die LU indem Speicher 1 angelegt worden ist. Für die dritte Ausführungsformwird angenommen, dass jede LU aus einem einzelnen LDEV besteht.Alternativ könnenmehrere LDEVs miteinander verbunden werden, um eine einzelne LUzu erzeugen. WORM ist die Abkürzungfür „WriteOnce, Read Many" (einmalschreiben, mehrfach lesen) und gibt ein Attribut an, das ein einmaligesSchreiben und ein mehrfaches Lesen gestattet, wobei „1" einen Speicherbereichangibt, der das WORM-Attribut hat. „Migration" gibt an, ob ein zugehöriges logischesVolume migriert worden ist oder nicht, wobei „1" einen migrierten Speicherbereich angibt. „FS" gibt den Namen einesin dem LV eingerichteten Dateisystems an. „Bemerkungen" gibt zusätzlicheHinweise an, zum Beispiel „Home" für ein Home-Dateisystem,ein Datum zur Angabe, wann die Daten in das Dateisystem eingespeichertworden sind, und dergleichen. [0115] Dieerste Reihe in 15A gibt zum Beispiel an, dassLV0 aus LUN0 und LUN0 aus PLDEV0 besteht, das in Speicher 1 angelegtworden ist, und ein Dateisystem PFS0 erzeugt wird (dieser Zustandist durch LU0/STR0/PLDEV0/PFS0 angegeben) und als ein Home-Dateisystemdefiniert ist. In gleicher Weise besagt die zweite Reihe in 15A, dass LV1 die durch LU1/STR0/PLDEV1/PFS1 angegebeneKonfiguration aufweist und eine im Januar 2003 erzeugte Datei speichert.Im Folgenden wird dieser Zustand durch die Schreibweise „LV1/LU1/STR0/PLDEV1/PFS1" ausgedrückt. [0116] Hierzeigt die dritte Ausführungsformein Beispiel, bei dem jedes LV nur Dateien speichert, die am selbenDatum erzeugt worden sind. [0117] AlsNächsteswerden die Abläufebei der LDEV-Migration beschrieben. Hier wird die Migration beispielhaftanhand einer Betriebsstrategie beschrieben, die festlegt, dass amAnfang des nächstenMonats die aus dem vorherigen Monat verbleibenden Dateien von demSpeicher 1 in einen heterogenen Speicher migriert und dahingehendgeändertwerden, dass sie das WORM-Attribut erhalten. Diese Betriebsstrategiewird von dem DLCM 6001 gesteuert, einer Software-Applikation,die in einem Speicher eines Managementterminals 600 gespeichertist, das extern von dem Speicher 1 installiert ist. DLCMist die Abkürzungfür „Data LifeCycle Manager".Weil der DLCM 6001 von dem Managementterminal 600 ausgeführt wird,erfasst der DLCM 6001 Managementinformationen, insbesondereInformationen in der Volume-Managementtabelle 131 von demSpeicher 1, so dass der DLCM 6001 die Konfigurationdes Speichers 1 kennen kann. [0118] Hierwird angenommen, dass zum Beispiel am 1. Februar 2003 der DLCM 6001 aufdem Managementterminal 600 zuerst einen Ausführungsbefehlan den CHN0 des Speichers 1 ausgibt, um PLDEV2 über dieManagementvorrichtung 18 zu erzeugen. Nach Empfang diesesBefehls erzeugt der CHN0 LV1/LUN2/STR0/PLDEV2/PFS2 und startet einenDateidienst. [0119] AlsNächstessetzt der DLCM 6001 das WORM-Attribut für die im vorherigen Monat erzeugtenDateien, also „Januar2003" nach der Betriebsstrategie,und bestimmt, diese Dateien aus dem Speicher 1 in den heterogenenSpeicher 500 zu migrieren. [0120] Insbesonderestellt der DLCM 6001 basierend auf den Informationen inder in 15A gezeigten Volume-Managementtabelle 131 fest,dass die im „Januar2003" erzeugtenDateien in LV1/LUN1/STR0/PLDEV1/PFS1 gespeichert sind. [0121] Danachgibt der DLCM 6001 einen Ausführungsbefehl an den DKC 11 desSpeichers 1 aus, um überdie Managementvorrichtung 18 das WORM-Attribut für das LV1zu setzen. Nach Empfang dieses Befehls setzt ein WORM-Attributprogramm 111095 desCHD0 das WORM-Attribut fürdas PLDEVl entsprechend dem LV1, das von der Managementvorrichtung 18 angewiesenworden ist, das WORM-Attribut zu setzen, um neue Schreibzugriffezu verhindern. Währenddas WORM-Attributprogramm 111095 bei der dritten Ausführungsformneue Schreibzugriffe verhindert, ist die Erfindung nicht auf diesespezielle Art und Weise wie bei der dritten Ausführungsform beschränkt, sondernder CHN0 oder CHD0 kann mit einer Funktion zur Verhinderung neuerSchreibzugriffe versehen sein. [0122] Danachbestimmt der DLCM 6001 das SLDEV1 in dem heterogenen Speicher 500 alsein Ziel-LDEV fürdie Migration. Ist zuvor noch kein LDEV erzeugt worden, wird über dieManagementvorrichtung 18 ein LDEV-Erzeugungsbefehl an denDKC 11 des Speichers 1 ausgegeben. Wenn der CHD0diesen Befehl empfängt,erzeugt das heterogene Speicheranschlusssteuerprogramm 11101 dasSLDEV1. [0123] Sodanngibt der DLCM 6001 überdie Managementvorrichtung 18 einen Ausführungsbefehl an den DKC 11 desSpeichers 1 aus, um die Daten in dem PLDEV 1 aufdas SLDEV1 zu migrieren. Wenn der CHD0 diesen Befehl empfängt, kopiertdas LDEV-Migrationssteuerprogramm 11104 den Dateninhaltin dem PLDEV1 auf das SLDEV1, das heißt den heterogenen Speicher 500 über dasheterogene Speicheranschluss-SAN 30. Nach Abschluss dieses Kopiervorgangslöschtdas LDEV-Migrationssteuerprogramm 11104 die Daten in demPLDEV1. Nach Abschluss der Migration aktualisiert das Volume-Steuerprogramm 111093 desCHD0 die Volume-Managementtabelle 131. [0124] Hiersind im Gegensatz zum Neuanlegen des Dateisystems SFS1 die Informationenin dem PFS1 in unveränderterForm auf das SLDEV verschoben worden, so dass der CHN0 das SFS1erzeugen kann, indem er einfach den Namen des Dateisystems und nurdie anderen nötigenDaten nach Bedarf aktualisiert. [0125] Somitist die Migration fürdas LV1 abgeschlossen, auf dem das im Januar erzeugte DateisystemPFSl gespeichert ist. Als Ergebnis ist die Volume-Managementtabelle 131 wiein 15B gezeigt geändertworden. Das LV1 ist durch LV1/LUN1/STR1/SLDEV1/SFS1 angegeben undhat das WORM-Attribut. [0126] Später erzeugtder DLCM 6001 in ähnlicher WeiseAnfang März2003 ein logisches Volume LV3 zum Speichern eines Dateisystems PFS3für Dateien,die im Märzerzeugt werden, und migriert das LV2, auf dem das Dateisystem PFS2im Februar gespeichert war, aus dem Speicher 1 in den heterogenenSpeicher 500. Als Ergebnis ist das LV2 durch LV2/LUN2/STR1/SLDEV2/SFS2angegeben, wie in 15C ge zeigt, und hat das WORM-Attribut.Als Ergebnis dieser Operationen ist die Konfiguration letztlichdefiniert, wie in 14 gezeigt. [0127] Somitsind PLDEV1 und PLDEV2 auf SLDEV1 bzw. SLDEV2 migriert worden, wobei LV1/LU1oder LV2/LU2 nicht geändertworden sind. Weil das Dateisystem nach der Migration in dem Home-DateisystemPFS0 gemountet ist, wird die durchgeführte Migration von dem Hostnicht erkannt. Weil das LDEV-Migrationssteuerprogramm außerdem Adresszeigerim Laufe der Migration verwaltet, würde ein eventuell während derMigration erfolgender Zugriff von einem Host nicht unterbrochenoder würde nichtzur Übertragungfehlerhafter Daten führen.Als Folge sind eine perfekte Transparenz und eine einheitliche Ansicht über dasgesamte Dateisystem von dem Host sichergestellt. Eine solche Funktionwird als „SingleView-Migration auf der Basis eines heterogenen Speicheranschluss-NAS" bezeichnet. [0128] Inder vorstehenden Beschreibung werden das Erzeugen eines Volumesund die Migration durch den DLCM 6001 auf dem Managementterminal 600 ausgeführt. Alternativkann die Funktion des DLCM 6001 in eine Applikation aufdem Host eingebunden sein, oder der DLCM 6001 kann aufdem Host oder auch auf der Managementvorrichtung 18 indem Speicher laufen. Insbesondere wenn die DLCM-Funktion in eineApplikation auf dem Host eingebunden ist, kann eine genauere Steuerungentsprechend den Merkmalen und der Funktionsweise der Applikationerfolgen. In diesem Fall ist eine Schnittstelle zwischen dem DLCM 6001 unddem Speicher 1 als API definiert, so dass die vorstehend beschriebeneindividuelle Operation als API vorgesehen ist. [0129] Dievorstehende Beschreibung berücksichtigtkeine Unterschiede außerdenen in der Konfiguration des Controllers zwischen dem Speicher 1 und demheterogenen Speicher 500. Der Speicher 1 kann zumBeispiel mit Hochleistungs-Platten 17xx arbeiten, die jeweilseine FC-Schnittstelle aufweisen, während der heterogene Speicher 500 mitpreiswerten Platten 5170x arbeiten kann, die eine ATA-Schnittstelleaufweisen, so dass die Hochleistungs-FC-Platten in einer Zeit genutztwerden können,in der für dasAnlegen eines Dateisystems häufigRückschreibeoperationendurchgeführtwerden, währenddie preiswerten ATA-Platten in einer Zeit genutzt werden können, inder das Speichern ein Hauptzweck ist. Das so erhaltene Speichersystemermöglichtdurch diese gezielte Nutzung eine hohe Leistung bei günstigenKosten. Dies ist besonders effektiv beim Aufbau eines Speichersystemsmit preiswerten ATA-Platten zur Langzeitarchivierung von Daten.Das Speichersystem kann füreine Vielzahl von Anwendungen angepasst werden, zum Beispiel alsBackup fürein Dateisystem oder zum Archivieren von E-Mails, Protokollen und Überwachungsbildernund dergleichen, wodurch sich ein sehr hoher Gebrauchswert ergibt. [0130] Mitden vorstehenden Ausführungsformen können unabhängige Dateisystemeauf mehreren logischen Speichervolumes erzeugt und in einem einzigenVerzeichnisbaum zusammengefasst werden, so dass der Host mit einem „SingleView"-Dateisystem versehenwerden kann. [0131] Außerdem kannein logisches Volume in einem Speicherbereich in einem heterogenenSpeicher erzeugt und ein ganzes Dateisystem mit einer Migrationsfunktioneiner heterogenen Speicheranschlussfunktion unter Beibehaltung der „Single View"-Eigenschaft migriertwerden. [0132] Auchkann im Falle der Migration das WORM-Attribut für ein logisches Volume gesetztwerden, um ein erneutes Beschreiben des logischen Volumes zu verhindern. [0133] Weiterkönnendas Erzeugen eines Volumes und die Migration nach einer festgelegtenStrategie durch Steuerung von einem Managementterminal ausgeführt werden,das extern von dem Speicher oder von dem Host installiert ist. [0134] Obwohldie vorstehende Beschreibung anhand von Ausführungsformen der Erfindunggegeben worden ist, sollte fürden Fachmann zu erkennen sein, dass die Erfindung nicht hieraufbeschränktist und dass verschiedene Änderungenund Abwandlungen vorgenommen werden können, ohne vom Gedanken derErfindung und vom Umfang der anliegenden Ansprüche abzuweichen.
权利要求:
Claims (20) [1] Erstes Speichersystem, das an einen Computerund an ein zweites Speichersystem angeschlossen ist, mit: einemersten Speicher; einem ersten Controller zum Steuern des ersten Speichersystems;und einem zweiten Controller zum Steuern von Ein-/Ausgabeoperationenin das zweite bzw. von dem zweiten Speichersystem, wobei das zweiteSpeichersystem einen Controller und einen an den Controller angeschlossenenzweiten Speicher aufweist, wobei der erste Controller ein Dateisystemin dem zweiten Speicher erzeugt. [2] Erstes Speichersystem nach Anspruch 1, wobei: derzweite Controller logische Einheiten verwaltet, die in dem zweitenSpeicher als eine zu dem ersten Speichersystem gehörende RAID-Gruppeerzeugt sind, und der erste Controller unter Verwendung der RAID-Gruppeein Dateisystem in dem zweiten Speicher erzeugt. [3] Erstes Speichersystem nach Anspruch 1, wobei dererste Controller auf eine von dem Computer empfangene Zugriffsanfragefür eineDatei reagiert, um festzustellen, daß ein Dateisystem, in dem sichdie Datei befindet, in dem zweiten Speicher erzeugt wurde, und aufeine in dem zweiten Speicher gespeicherte Datei mittels des zweitenControllers zugreift. [4] Erstes Speichersystem nach Anspruch 1, wobei derzweite Controller an mehrere zweite Speichersysteme angeschlossenist. [5] Erstes Speichersystem nach Anspruch 1, wobei dererste Controller ein Dateisystem in dem ersten Speicher erzeugtund das in dem ersten Speicher erzeugte Dateisystem und ein in demzweiten Speicher erzeugtes Dateisystem so verwaltet, daß die Dateisystemevon dem Computer als ein einziges Dateisystem erkannt werden. [6] Erstes Speichersystem nach Anspruch 1, wobei dererste Controller ein Dateisystem in dem ersten Speicher erzeugtund Daten von dem in dem ersten Speicher erzeugten Dateisystem inden zweiten Speicher kopiert, wobei die Struktur des Dateisystemsbeibehalten wird. [7] Erstes Speichersystem nach Anspruch 6, wobei dererste Controller die Daten von dem in dem ersten Speicher erzeugtenDateisystem in den zweiten Speicher kopiert und anschließend dieDaten in dem in dem ersten Speicher erzeugten Dateisystem löscht. [8] Erstes Speichersystem nach Anspruch 6, wobei dererste Controller oder der zweite Controller ein Attribut hinzufügt, daseinen Schreibschutz bezüglich einesSchreibezugriffs von dem Computer auf das Dateisystem anzeigt, wenndie Daten von dem in dem ersten Speicher erzeugten Dateisystem inden zweiten Speicher kopiert werden. [9] Erstes Speichersystem nach Anspruch 8, wobei daserste Speichersystem an eine Managementvorrichtung angeschlossenist, so daß dererste Controller ein Dateisystem erzeugt, die Daten von dem in demersten Speicher erzeugten Dateisystem in den zweiten Speicher kopiertund das Attribut aufgrund eines Befehls von der Managementvorrichtunghinzufügt. [10] Erstes Speichersystem nach Anspruch 9, wobei: dieManagementvorrichtung einen Zeitpunkt vorgibt, zu dem das neue Dateisystemin dem ersten Speicher erzeugt wird; der erste Controller beiEintritt des Zeitpunkts ein neues Dateisystem in dem ersten Speichererzeugt; und der erste Controller von dem Computer in das neue Dateisystemgeschriebene Daten speichert und ein in dem ersten Speicher erzeugtesDateisystem in den zweiten Speicher verschiebt, das gespeicherteDaten aufweist, die von dem Computer vor dem Zeitpunkt geschriebenwurden. [11] Erstes Speichersystem nach Anspruch 10, ferner miteiner Managementtabelle, wobei das Speichersystem die Struktur einesDateisystems unter Verwendung der Managementtabelle verwaltet. [12] System zum Speichern einer Datei, auf die von einemComputer zugegriffen wird, mit: einem ersten Speichersystem,das an den Computer angeschlossen ist; einem zweiten Speichersystem; einemersten Speicher; einem ersten Controller zum Steuern des ersten Speichersystems;und einem zweiten Controller zum Steuern von Ein-/Ausgabeoperationenin das zweite bzw. von dem zweiten Speichersystem, wobei daszweite Speichersystem einen Controller und einen zweiten, an denController angeschlossenen Speicher aufweist, und der ersteController ein Dateisystem in dem zweiten Speicher erzeugt, undauf das in dem zweiten Speichersystem erzeugte Dateisystem in Reaktionauf eine Zugriffsanfrage fürdas Dateisystem von dem Computer zugreift. [13] System nach Anspruch 12, wobei der erste Controllerein Dateisystem in dem ersten Speicher erzeugt und das in dem erstenSpeicher erzeugte Dateisystem und ein in dem zweiten Speicher erzeugtesDateisystem so verwaltet, daß dieDateisy steme von dem Computer als ein einziges Dateisystem erkanntwerden. [14] System nach Anspruch 12, ferner mit einer Managementvorrichtung,wobei: die Managementvorrichtung an den ersten Controller einenBefehl zum Verschieben eines in dem ersten Speicher erzeugten Dateisystemsin den zweiten Speicher gibt; der erste Controller auf denBefehl zum Kopieren von Daten von dem in dem ersten Speicher erzeugten Dateisystemin den zweiten Speicher anspricht, wobei die Struktur des Dateisystemsbeibehalten wird, und die Daten in dem in dem ersten Speicher erzeugtenDateisystem löscht;und der erste Controller auf eine Zugriffsanfrage für das Dateisystemvon dem Computer zum Steuern des zweiten Speichers anspricht, umeinen Zugriff darauf zu machen. [15] System nach Anspruch 14, wobei: wenn der ersteController die Daten von dem in dem ersten Speicher erzeugten Dateisystemin den zweiten Speicher kopiert, die Managementvorrichtung das ersteSpeichersystem veranlaßt,ein Attribut hinzuzufügen,das einen Datenschreibezugriff von dem Computer auf das Dateisystemverhindert; und der erste oder der zweite Controller das Attributzu dem Dateisystem hinzufügt. [16] System nach Anspruch 15, wobei: die Managementvorrichtungeinen Zeitpunkt vorgibt, zu dem ein neues Dateisystem in dem erstenSpeicher erzeugt wird; der erste Controller bei Eintritt desZeitpunkts ein neues Dateisystem in dem ersten Speicher erzeugt; und dererste Controller von dem Computer nach dem Zeitpunkt empfangeneDaten in das neue Dateisystem schreibt und ein in dem ersten Speichererzeugtes Dateisystem mit Daten, die von dem Computer geschriebenwurden, bevor das neue Dateisystem erzeugt wurde, in den zweitenSpeicher verschiebt. [17] Computerprogrammprodukt für ein erstes Speichersystem,das an einen Computer und ein zweites Speichersystem angeschlossenist, wobei das Produkt aufweist: einen Code zum Steuern vonEin-/Ausgabeoperationen in einen bzw. von einem ersten Speicher,der in dem ersten Speichersystem enthalten ist; einen Codefür einenin dem zweiten Speichersystem enthaltenen Controller zum Steuernvon Ein-/Ausgabeoperationen in einen bzw. von einem zweiten Speicher,der in dem zweiten Speichersystem enthalten ist; einen Codezum Erzeugen eines Dateisystems in dem zweiten Speicher; und eincomputerlesbares Speichermedium zum Speichern der Codes. [18] Computerprogrammprodukt nach Anspruch 17, fernermit: einem Code zum Erzeugen eines Dateisystems in dem erstenSpeicher; und einem Code zum Kopieren von Daten von dem in demersten Speicher erzeugten Dateisystem in den zweiten Speicher, wobeidie Struktur des Dateisystems beibehalten wird. [19] Computerprogrammprodukt nach Anspruch 18, fernermit einem Code zum Löschender Daten in dem in dem ersten Speichersystem erzeugten Dateisystem,nachdem die Daten von dem in dem ersten Speicher erzeugten Dateisystemin den zweiten Speicher kopiert wurden. [20] Computerprogrammprodukt nach Anspruch 18, fernermit einem Code zum Hinzufügeneines Attributs, das einen Datenschreibezugriff von dem Computerauf das in dem ersten Speicher erzeugte Dateisystem verhindert,wenn die Daten von dem in dem ersten Speicher erzeugten Dateisystemin den zweiten Speicher kopiert werden.
类似技术:
公开号 | 公开日 | 专利标题 US20180018099A1|2018-01-18|Systems and methods for performing storage operations using network attached storage US9229653B2|2016-01-05|Write spike performance enhancement in hybrid storage systems US9459809B1|2016-10-04|Optimizing data location in data storage arrays JP5855200B2|2016-02-09|データストレージシステム、およびデータアクセス要求を処理する方法 US9547459B1|2017-01-17|Techniques for data relocation based on access patterns US9460102B1|2016-10-04|Managing data deduplication in storage systems based on I/O activities US9256524B2|2016-02-09|Storage system having a thin provisioning function KR101841997B1|2018-03-27|순응적 존속을 위한 시스템, 방법 및 인터페이스 Byan et al.2012|Mercury: Host-side flash caching for the data center US8762672B2|2014-06-24|Storage system and storage migration method US8635427B2|2014-01-21|Data storage control on storage devices US8812815B2|2014-08-19|Allocation of storage areas to a virtual volume US8892840B2|2014-11-18|Computer system and data migration method US8943282B1|2015-01-27|Managing snapshots in cache-based storage systems US9710187B1|2017-07-18|Managing data relocation in storage systems US9405680B2|2016-08-02|Communication-link-attached persistent memory system US8639899B2|2014-01-28|Storage apparatus and control method for redundant data management within tiers US8219774B2|2012-07-10|Storage controller and storage control method US9594514B1|2017-03-14|Managing host data placed in a container file system on a data storage array having multiple storage tiers JP5178854B2|2013-04-10|ストレージシステム及びデータ再配置制御装置 US7925851B2|2011-04-12|Storage device US8046537B2|2011-10-25|Virtualization engine and method, system, and computer program product for managing the storage of data US7136801B2|2006-11-14|Outboard data storage management system and method JP4862006B2|2012-01-25|計算機システム JP4646526B2|2011-03-09|記憶制御システム及び同システムの制御方法
同族专利:
公开号 | 公开日 US7464222B2|2008-12-09| US20050192980A1|2005-09-01| JP2005228170A|2005-08-25| GB2423410B|2007-08-29| CN1658170A|2005-08-24| GB2423410A|2006-08-23| CN100338582C|2007-09-19| US20050182900A1|2005-08-18| FR2866449A1|2005-08-19| GB2412481B|2007-06-27| GB0607830D0|2006-05-31| GB0410824D0|2004-06-16| GB2412481A|2005-09-28|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-09-08| OP8| Request for examination as to paragraph 44 patent law| 2011-02-15| R002| Refusal decision in examination/registration proceedings| 2011-06-09| 8131| Rejection| 2011-06-09| R003| Refusal decision now final|Effective date: 20110316 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|